package com.abl.javabasis._06_面向对象;

/**
 * 动物接口
 */
interface AnimalInterface {
    void jiao();
}

class 老鼠 implements AnimalInterface {
    String name;

    public 老鼠(String name) {
        this.name = name;
    }

    @Override
    public void jiao() {
        System.out.println(name + "：是一只老鼠：吱吱吱~~~");
    }
}

class 牛 implements AnimalInterface {
    String name;

    public 牛(String name) {
        this.name = name;
    }


    @Override
    public void jiao() {
        System.out.println(name + "：是一头牛：哞哞哞~~~");
    }
}


public class 多态 {

    public static void main(String[] args) {

        //图奇：是一只老鼠：吱吱吱~~~
        AnimalInterface anInterface1 = new 老鼠("图奇");
        anInterface1.jiao();//多态

        //阿利斯塔：是一头牛：哞哞哞~~~
        AnimalInterface anInterface2 = new 牛("阿利斯塔");
        anInterface2.jiao();//多态

    }

}
//
///**
// * 动物类
// */
//abstract class AnimalClass {
//    String name;
//
//    abstract void jiao();
//
//    public AnimalClass(String name) {
//        this.name = name;
//    }
//}
//
//class 老鼠 extends AnimalClass {
//
//    public 老鼠(String name) {
//        super(name);
//    }
//
//    @Override
//    void jiao() {
//        System.out.println(name + "：是一只老鼠：吱吱吱~~~");
//    }
//}
//
//class 牛 extends AnimalClass {
//
//    public 牛(String name) {
//        super(name);
//    }
//
//    @Override
//    void jiao() {
//        System.out.println(name + "：是一头牛：哞哞哞~~~");
//
//    }
//
//}
//
//
//public class 多态 {
//
//    public static void main(String[] args) {
//
//        //        图奇：是一只老鼠：吱吱吱~~~
//        AnimalClass ls = new 老鼠("图奇");
//        ls.jiao();
//
//        //        阿利斯塔：是一头牛：哞哞哞~~~
//        AnimalClass niu = new 牛("阿利斯塔");
//        niu.jiao();
//
//    }
//
//}
